home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 5
/
Skunkware 5.iso
/
src
/
X11
/
Fresco
/
build
/
Unix
/
config
/
cf
/
Ixx.tmpl
< prev
next >
Wrap
Text File
|
1995-07-12
|
4KB
|
155 lines
XCOMM $XConsortium: Ixx.tmpl,v 1.5 94/03/28 17:13:30 matt Exp $
XCOMM
XCOMM Definitions for using interface translator
XCOMM
#ifndef IxCmd
#ifdef UseInstalled
#define IxCmd ixx
#else
#define IxCmd $(IXXSRC)/ixx
#endif
#endif
#ifndef IxCpp
#define IxCpp CppCmd
#endif
#ifndef IxConfig
#define IxConfig -dii -stubclass -prefix Xf
#endif
#ifndef IxFlags
#define IxFlags $(IXCONFIG) $(EXTRA_IXFLAGS)
#endif
#ifndef IxIncludes
#define IxIncludes -i '<Fresco/defs/_enter.h>'
#endif
IX = IxCmd
IXCPP = IxCpp
IXCONFIG = IxConfig
IXFLAGS = IxFlags
IXINCLUDES = IxIncludes
IXCPPINCLUDES = $(CXXINCLUDES) $(CXXIDL_INCLUDES)
.SUFFIXES: .idl
#ifndef MakeIDLHeader
#define MakeIDLHeader(name_idl,name_h,flags) @@\
headers:: name_h @@\
name_h: name_idl @@\
@$(RM) name_h name_h-ix @@\
@echo "Generating name_h from name_idl" @@\
@$(IXCPP) $(CXXDEFINES) $(IXCPPINCLUDES) name_idl | \ @@\
$(IX) flags > name_h-ix @@\
@$(MV) name_h-ix name_h @@\
@chmod a-w name_h @@\
@@\
clean_headers:: @@\
$(RM) name_h
#endif
#ifndef MakeHeaderInDirFlags(dir,name,flags)
#define MakeHeaderInDirFlags(dir,name,flags) \
MakeIDLHeader(dir/name.idl,dir/name.h,\
-file dir/name.idl $(IXFLAGS) $(IXINCLUDES) flags)
#endif
#ifndef MakeHeaderInDir(dir,name)
#define MakeHeaderInDir(dir,name) \
MakeHeaderInDirFlags(dir,name,NullParameter)
#endif
#ifndef MakeHeaderFlags
#define MakeHeaderFlags(name,flags) \
MakeHeaderInDirFlags(.,name,flags)
#endif
#ifndef MakeHeader
#define MakeHeader(name) \
MakeHeaderFlags(name,NullParameter)
#endif
#ifndef EditImplName
#define EditImplName(dep,name,interfaces,flags,tmp) @@\
filter:: dep @@\
dep:: interfaces @@\
@$(RM) tmp @@\
@echo "Editing" name @@\
@cat interfaces | $(IXCPP) $(CXXDEFINES) $(IXCPPINCLUDES) | \ @@\
$(IX) flags -filter name > tmp @@\
@$(MOVEIFCHANGE) tmp name
#endif
.SUFFIXES: .filter
#ifndef EditImplFlags
#define EditImplFlags(name,interfaces,flags) \
EditImplName(name.filter,name.CCsuf,interfaces,flags,name-new.CCsuf)
#endif
#ifndef EditImpl
#define EditImpl(name,interfaces) \
EditImplFlags(name,interfaces,$(IXFLAGS))
#endif
#ifndef EditImplHeaderFlags
#define EditImplHeaderFlags(name,interfaces,flags) \
EditImplName(name.filter,name.h,interfaces,flags,name-new.h)
#endif
#ifndef EditImplHeader
#define EditImplHeader(name,interfaces) \
EditImplHeaderFlags(name,interfaces,$(IXFLAGS))
#endif
#ifndef MakeSchemaFlags
#define MakeSchemaFlags(schema_name,interfaces,type_ids_list,flags) @@\
filter:: type_ids.filter @@\
type_ids.filter:: type_ids_list @@\
@echo "Building" schema_name @@\
@cat interfaces schema_name type_ids_list | \ @@\
$(IXCPP) -DIX_SCHEMA $(CXXDEFINES) $(IXCPPINCLUDES) | \ @@\
$(IX) flags -schema schema_name-ix @@\
@$(MOVEIFCHANGE) schema_name-ix schema_name
#endif
#ifndef IxSchemaFlags
#define IxSchemaFlags -stubinclude '<Fresco/Ox/stub.h>'
#endif
IXSCHEMAFLAGS = $(IXFLAGS) IxSchemaFlags
#ifndef MakeSchema
#define MakeSchema(schema,interfaces) \
MakeSchemaFlags(schema,interfaces,$(TYPE_ID_LISTS),$(IXSCHEMAFLAGS))
#endif
#ifndef MakeSchemaInit
#define MakeSchemaInit(schema,init,interfaces) \
MakeSchemaFlags(schema,interfaces,$(TYPE_ID_LISTS),$(IXSCHEMAFLAGS) -serverinit init)
#endif
#ifndef MakeSchemaList
#define MakeSchemaList(list,hdrs) @@\
list: hdrs @@\
@$(RM) list @@\
@echo "Generating list" @@\
@grep _Ix_SymbolDef hdrs | \ @@\
sed -e 's/.*SymbolDef \(.*\)$$/\#pragma ix ? \1/' > list @@\
@@\
clean:: @@\
$(RM) list
#endif
INTERFACES = *.idl
#ifndef DependHeaders
#define DependHeaders() @@\
depend:: @@\
$(DEPEND) -o.h -s "# DO NOT DELETE" -- $(CXXINCLUDES) -- \
$(INTERFACES)
#endif